SUMMARY:
It loads the last stored result location, and either goes up or down 1 result.


NOTE:
Make sure you use the "Reset Currently Selected Result" function after you have done a new scan of any type.
Here's what happens if you don't:
If you haven't done that before, you will start cycling at address 00000000.  Getting to 000a0000 will take 81920 button pressed if you don't.


200ffca8 34010008 ori at, zero, $0008         "at" is 8 to either add or subtract from the current location.  Each stored address is 4 bytes, and it's stored value is 4 bytes, so you move up or down 8 bytes to the next/previous address.
200ffcac 8f0f0000 lw t7, $0000(t8)            Loads the saved location of the last result from address 000ffff0.
{
    OR GO UP ONE RESULT
200ffcb0 002f7821 addu t7, at, t7             Adds 8 to the location, so it goes up 1 to the next result.
    OR GO DOWN ONE RESULT
200ffcb0 002f7823 subu t7, at, t7             Subtracts 8 from the location, so it goes down 1 to the previous result.
}
200ffcb4 af0f0000 sw t7, $0000(t8)            Stores the location of the next/previous result at address 000ffff0.
200ffcb8 8dea0000 lw t2, $0000(t7)            Loads the stored result's address from the new location.
200ffcbc 8deb0004 lw t3, $0004(t7)            Loads the stored result's value from the new location.
200ffcc0 af0a0004 sw t2, $0004(t8)            Stores the result's address at address 000fff4.
200ffcc4 10000081 beq zero, zero, $000ffecc   Goes to the 3 second delay, so you don't accidentally go up or down 100000 times in 1 second.
200ffcc8 af0b0008 sw t3, $0008(t8)            Stores the result's value at address 000fff8.